Parallelization and the Application Programmer: Random Self-Oscillation or Old Faithful?
نویسندگان
چکیده
The typical application programmer is about to be swamped with a deluge of options for programming languages, libraries, frameworks and abstractions all designed to assist the inevitable need to parallelize new and existing codebases. Regardless of approach or level of abstraction provided, these programmers currently lack structured workflows to assist the development of parallel code. Workflows within Software Development Life Cycle (SDLC) models, such as the Unified Process Model, have arguably structured modern practice. Though parallelism manifests itself as a seemingly innocuous non-functional requirement associated with performance, the ramifications of evolving an existing codebase often requires changes to mutiple workflows, spanning design, implementation, testing and maintenance. In this paper we identify the need for an extension to traditional SDLC models to include systematic workflows structured around key causal relationships associated with parallelization. This feedback model, we call Geyser, is designed to link changes in design, platform, source, configuration, profiling and workload to corresponding impact on dynamic characteristics of the system. A rudimentary prototype tool demonstrates the possibility of leveraging this approach to infer the impact of change sets on performance.
منابع مشابه
Scalable parallelization of dynamic algorithms using the Chunks and Tasks programming model
We describe how the Chunks and Tasks programming model can be used for efficient parallelization of computations. In the Chunks and Tasks model there is no message passing, instead the application programmer specifies how to divide the work into small pieces (tasks) that can be executed in parallel. Abstractions for data (chunks) are also provided. The application programmer need not worry abou...
متن کاملAn Overview of OpenMP based Automatic Parallelization Tools
In the fast paced world today, computer programmers are required to know everything about speeding up and optimizing an application. Since the barriers for speeding up sequential code have been reached, we now have to find other options. And this is where parallel programs come into picture. A programmer thus has to learn how to parallelize code and would require a comprehensive understanding o...
متن کاملTile Reduction: The First Step towards Tile Aware Parallelization in OpenMP
Tiling is widely used by compilers and programmer to optimize scientific and engineering code for better performance. Many parallel programming languages support tile/tiling directly through first-class language constructs or library routines. However, the current OpenMP programming language is tile oblivious, although it is the de facto standard for writing parallel programs on shared memory s...
متن کاملUniversity of Delaware Department of Electrical and Computer Engineering Computer Architecture and Parallel Systems Laboratory Tile Reduction: an OpenMP Extension for Tile Aware Parallelization
Tiling is widely used by compilers and programmer to optimize scientific and engineering code for better performance. Many parallel programming languages support tile/tiling directly through first-class language constructs or library routines. However, the current OpenMP programming language is tile oblivious, although it is the de facto standard for writing parallel programs on shared memory s...
متن کاملSystem Support for Implicitly Parallel Programming
Implicit parallelization involves developing parallel algorithms and applications in environments that provide sequential semantics, e.g., the C programming language. System tools convert the parallel algorithms into a set of threads partitioned appropriately for a particular parallel machine organization. The resulting parallel programs are easier and faster to develop, debug and maintain, bec...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2010